﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AgileSaude.Data;
using AgileSaude.Entities;
using FBS.Framework;
using System.Configuration;
using System.Security;
using AgileSaude.Business.Process;
using AgileSaude.Data.Repository;

namespace AgileSaude.Business.Validation
{
    internal class UsuarioValidation
    {
        private UsuarioEntities usuario;
        private Resultado resultado = new Resultado();
        private List<Mensagem> mensagem = new List<Mensagem>();

        internal UsuarioValidation(UsuarioEntities pusuario)
        {
            this.usuario = pusuario;
            resultado.Sucesso = true;
        }

        internal Resultado ValidarUsuario()
        {
            resultado = new Resultado();
            resultado.Sucesso = true;

            if (!Validacao.ValidaCPF_CNPJ(usuario.CPF))
            {
                resultado.Sucesso = false;
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Usuario";
                mensagem.Descricoes.Add("CPF inválido.");
                resultado.Mensagens.Add(mensagem);
            }

            usuario user;

            user = new usuarioRepository().getusuario(usuario.CPF);

            if (user != null)
            {
                resultado.Sucesso = false;
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "Usuario";
                mensagem.Descricoes.Add("CPF já cadastrado.");
                resultado.Mensagens.Add(mensagem);
            }

            return resultado;
        }
    }
}
